home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / libs / svgabg55 / initsvga.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-10  |  5.9 KB  |  240 lines

  1. /* Sample program that initializes the SuperVGA driver */
  2.  
  3. #include <stdio.h>
  4. #include <conio.h>
  5. #include <graphics.h>
  6.  
  7. #include "svgautil.h"
  8. #include "svga16.h"
  9. #include "twk16.h"
  10. #include "twk256.h"
  11. #include "svga256.h"
  12. #include "svga32k.h"
  13. #include "svga64k.h"
  14. #include "svgatc.h"
  15. #include "svgas3.h"
  16.  
  17. /* Returns the color for white */
  18. long WhitePixel()
  19. {
  20.   switch(getmaxcolor()) {
  21.     case 32768: return 0x7fffL;
  22.     case 65535: return 0xffffL;
  23.     case 16777: return 0xffffffL;
  24.     default   : return 15;
  25.   };
  26. }
  27.  
  28. int huge DetectVGA256()
  29. {
  30.   int Vid;
  31.  
  32.   printf("Which video mode would you like to use? \n");
  33.   printf("  0) 320x200x256\n");
  34.   printf("  1) 640x400x256\n");
  35.   printf("  2) 640x480x256\n");
  36.   printf("  3) 800x600x256\n");
  37.   printf("  4) 1024x768x256\n");
  38.   printf("  5) 640x480x256\n");
  39.   printf("  6) 1280x1024x256\n");
  40.   printf("\n> ");
  41.   scanf("%d",&Vid);
  42.   return Vid;
  43. }
  44.  
  45. int huge DetectS3() 
  46. {
  47.   int Vid;
  48.  
  49.   printf("Which video mode would you like to use?\n");
  50.   printf("  0) 640x480x256\n");
  51.   printf("  1) 800x600x256\n");
  52.   printf("  2) 1024x768x256\n");
  53.   printf("  3) 800x600x16\n");
  54.   printf("  4) 1024x768x16\n");
  55.   printf("  5) 1280x960x16\n");
  56.   printf("  6) 1280x1024x16\n");
  57.   printf("  7) 640x480x32768\n");
  58.   printf("> ");
  59.   scanf("%d",&Vid);
  60.   return Vid;
  61. }
  62. int huge DetectVGA64k()
  63. {
  64.   int Vid;
  65.  
  66.   printf("Which video mode would you like to use? \n");
  67.   printf("  0) 320x200x65536\n");
  68.   printf("  1) 640x350x65536\n");
  69.   printf("  2) 640x400x65536\n");
  70.   printf("  3) 640x480x65536\n");
  71.   printf("  4) 800x600x65536\n");
  72.   printf("  5) 1024x768x65536\n");
  73.   printf("  6) 1280x1024x65536\n");
  74.   printf("\n> ");
  75.   scanf("%d",&Vid);
  76.   return Vid;
  77. }
  78.  
  79. int huge DetectVGA24bit()
  80. {
  81.   int Vid;
  82.  
  83.   printf("Which video mode would you like to use? \n");
  84.   printf("  0) 320x200x24-bit\n");
  85.   printf("  1) 640x350x24-bit\n");
  86.   printf("  2) 640x400x24-bit\n");
  87.   printf("  3) 640x480x24-bit\n");
  88.   printf("  4) 800x600x24-bit\n");
  89.   printf("  5) 1024x768x24-bit\n");
  90.   printf("  6) 1280x1024x24-bit\n");
  91.   printf("\n> ");
  92.   scanf("%d",&Vid);
  93.   return Vid;
  94. }
  95.  
  96. int huge DetectVGA32k()
  97. {
  98.   int Vid;
  99.  
  100.   printf("Which video mode would you like to use? \n");
  101.   printf("  0) 320x200x32768\n");
  102.   printf("  1) 640x350x32768\n");
  103.   printf("  2) 640x400x32768\n");
  104.   printf("  3) 640x480x32768\n");
  105.   printf("  4) 800x600x32768\n");
  106.   printf("  5) 1024x768x32768\n");
  107.   printf("  6) 1280x1024x32768\n");
  108.   printf("\n> ");
  109.   scanf("%d",&Vid);
  110.   return Vid;
  111. }
  112.  
  113. int huge DetectVGA16()
  114. {
  115.   int Vid;
  116.  
  117.   printf("Which video mode would you like to use? \n");
  118.   printf("  0) 320x200x16\n");
  119.   printf("  1) 640x200x16\n");
  120.   printf("  2) 640x350x16\n");
  121.   printf("  3) 640x480x256\n");
  122.   printf("  4) 800x600x16\n");
  123.   printf("  5) 1024x768x16\n");
  124.   printf("  6) 1280x1024x16\n");
  125.   printf("\n> ");
  126.   scanf("%d",&Vid);
  127.   return Vid;
  128. }
  129.  
  130. int huge DetectTwk16()
  131. {
  132.   int Vid;
  133.  
  134.   printf("Which video mode would you like to use? \n");
  135.   printf("  0) 704x528x16\n");
  136.   printf("  1) 720x540x16\n");
  137.   printf("  2) 736x552x16\n");
  138.   printf("  3) 752x564x16\n");
  139.   printf("  4) 768x576x16\n");
  140.   printf("  5) 784x588x16\n");
  141.   printf("  6) 800x600x16\n");
  142.   printf("\n> ");
  143.   scanf("%d",&Vid);
  144.   return Vid;
  145. };
  146.  
  147. int huge DetectTwk256()
  148. {
  149.   int Vid;
  150.  
  151.   printf("Which video mode would you like to use? \n");
  152.   printf("  0) 320x400x256\n");
  153.   printf("  1) 320x480x256\n");
  154.   printf("  2) 360x480x256\n");
  155.   printf("  3) 376x564x256\n");
  156.   printf("  4) 400x564x256\n");
  157.   printf("  5) 400x600x256\n");
  158.   printf("  6) 320x240x256\n");
  159.   printf("\n> ");
  160.   scanf("%d",&Vid);
  161.   return Vid;
  162. };
  163.  
  164. void main()
  165. {
  166.   int  Gd = DETECT, Gm;
  167.   int  Drv;
  168.   char GrErr;
  169.  
  170.   /* Find out which driver the user wants */
  171.   printf("Which driver would you like to use?\n");
  172.   printf("  0) Svga16\n");
  173.   printf("  1) Svga256\n");
  174.   printf("  2) Svga32k\n");
  175.   printf("  3) Svga64k\n");
  176.   printf("  4) SvgaTC\n");
  177.   printf("  5) SvgaS3\n");
  178.   printf("  6) Tweak256\n");
  179.   printf("  7) Tweak16\n");
  180.   printf("\n> ");
  181.   scanf("%d",&Drv);
  182.   switch(Drv)
  183.   {
  184.     case 0: installuserdriver("Svga16",DetectVGA16);
  185. /*  If driver is linked with file, remove comments */
  186. /*          registerfarbgidriver(Svga16_fdriver);  */
  187.         break;
  188.  
  189.     case 1: installuserdriver("Svga256",DetectVGA256);
  190. /*  If driver is linked with file, remove comments */
  191. /*          registerfarbgidriver(Svga256_fdriver); */
  192.         break;
  193.  
  194.     case 2: installuserdriver("Svga32k",DetectVGA32k);
  195. /*  If driver is linked with file, remove comments */
  196. /*          registerfarbgidriver(Svga32k_fdriver);  */
  197.         break;
  198.  
  199.     case 3: installuserdriver("Svga64k",DetectVGA64k);
  200. /*  If driver is linked with file, remove comments */
  201. /*          registerfarbgidriver(Svga64k_fdriver);  */
  202.         break;
  203.  
  204.     case 4: installuserdriver("SvgaTC",DetectVGA24bit);
  205. /*  If driver is linked with file, remove comments */
  206. /*          registerfarbgidriver(SvgaTC_fdriver);  */
  207.         break;
  208.  
  209.     case 5: installuserdriver("SvgaS3",DetectVGAS3);
  210. /*  If driver is linked with file, remove comments */
  211. /*          registerfarbgidriver(SvgaS3_fdriver);  */
  212.         break;
  213.  
  214.     case 6: installuserdriver("Twk16",DetectTwk16);
  215. /*  If driver is linked with file, remove comments */
  216. /*          registerfarbgidriver(Twk16_fdriver);  */
  217.         break;
  218.  
  219.     case 7: installuserdriver("Twk256",DetectTwk256);
  220. /*  If driver is linked with file, remove comments */
  221. /*          registerfarbgidriver(Twk256_fdriver);  */
  222.         break;
  223.   }
  224.   initgraph(&Gd,&Gm,"");
  225.  
  226.   /* Test if mode was initialized successfully */
  227.   GrErr = graphresult();
  228.   if (GrErr != grOk) {
  229.       printf("Graphics error: %s\n",grapherrormsg(GrErr));
  230.       exit(1);
  231.   }
  232.  
  233.   /* Draw an 'X' on the screen */
  234.   setcolor(RealDrawColor(WhitePixel()));
  235.   line(0,0,getmaxx(),getmaxy());
  236.   line(0,getmaxy(),getmaxx(),0);
  237.   getch();
  238.   closegraph();
  239. }
  240.